package com.zxn.kotlin.number

import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
import kotlin.random.Random

fun main() {
    //1-5
    //println(Random.nextInt(5))
    println(Random.nextInt(4,5))
}

//fun main() {
//    println(createRandom(0, 10))
//    println(createRandom(50,100))
//    println(createRandom(0,0))
//    println(createRandom(0,1000))
//    println(createRandom(200,2000))
//}
//
///**
// * 取得min到max之间的随机整数（不包含max）
// * @min 最小取值
// * @max 最大取值边界（此值不取）
// * */
//private fun createRandom(min: Int = 0, max: Int): Float = when {
//    abs(max - min) <= 100 -> Random.nextInt(min(min, max), max(min, max) + 100).toFloat()
//    else -> Random.nextInt(min(min, max), max(min, max)).toFloat()
//}


/*var tempMin = min
    var tempMax = max
    if (tempMin > tempMax) {
        val temp: Int = tempMin
        tempMin = tempMax
        tempMax = temp
    }
    Random.nextInt(tempMin, tempMax).toFloat()
    */

///**
// * 取得min到max之间的随机整数（不包含max）
// * @min 最小取值
// * @max 最大取值边界（此值不取）
// * */
//fun createRandom(min: Int = 0, max: Int): Int {
//    var tempMin = min
//    var tempMax = max
//    if (tempMin > tempMax) {
//        val temp: Int = tempMin
//        tempMin = tempMax
//        tempMax = temp
//    }
//    return (floor(Math.random() * (tempMax - tempMin))).toInt() + tempMin
//}

//fun main() {
//    format("0").also {
//        println(it)
//    }
//    format("1000").also {
//        println(it)
//    }
//    format("10000").also {
//        println(it)
//    }
//    format("10001").also {
//        println(it)
//    }
//    format("10999").also {
//        println(it)
//    }
//    format("19000").also {
//        println(it)
//    }
//}
//
//fun format(number: String): String {
//    val iValue = number.toInt()
//    return when {
//        iValue == 0 -> iValue.toString()
//        iValue >= 10000 -> "${(iValue / 1000)}k"
//        else -> iValue.toString()
//    }
//}